
#define WIFI_SSID      "ABCD"
#define WIFI_PASSWD    "12345678"

#define Mode_Auto  (0x00)
#define Mode_Manu  (0x02)
#define Litht_Off  (0x00)
#define Litht_On   (0x01)

#define SEND_BUF_SIZE   (128)   // Hi3861向手机APP发送的信息的缓冲区最大size
#define SEND_CNT        (3)     // 手机端发送信息查询LED灯的状态时，连续发送多少次回复信息

#define SENSOR_QUERY_INTERVAL (500*1000)  // 想要提高灵敏度，可以缩短休眠间隔，默认间隔500ms查询一次传感器数据

#define BODY_SENSOR_THRESHOLD_DEF    (1800)  // 大于这个数值表示检测到人体红外线
#define BODY_SENSOR_THRESHOLD_MAX    (1900)
#define BODY_SENSOR_THRESHOLD_MIN    (120)

#define LIGHT_SENSOR_THRESHOLD_DEF   (500)   // 光敏电阻感光亮度大于(或小于)这个值就会关闭(或打开)LED灯
#define LIGHT_SENSOR_THRESHOLD_MAX   (1850)
#define LIGHT_SENSOR_THRESHOLD_MIN   (110)

enum {
    e_CmdUnused = 0,            // 0未使用，1~19 是设置命令，20~是获取信息命令，可扩展
    e_SetModeAuto,              // 设置自动控制模式
    e_SetManualOn,              // 手动开灯
    e_SetManualOff,             // 手动关灯
    e_SetBodySensorThreshold,   // 设置人体红外感应的阈值
    e_SetLightSensorThreshold,  // 设置光敏电阻感应的阈值

    e_GetLightStatus = 20,      // 获取灯的开关状态
    e_GetBodySensor,            // 获取人体红外感应的状态
    e_GetLightSensor,           // 获取光米电阻感应的状态

    e_CmdMax
};
/*
手机APP通过TCP客户端连接服务器发送以下命令列表(字符串)：
SetModeAuto
SetManualOn
SetManualOff
SetBodySensorThreshold:数字
SetLightSensorThreshold:数字
GetLightStatus
GetBodySensor
GetLightSensor
*/


#ifdef SUPPORT_WIFI
osThreadId_t WifiTaskEntry(void);
char* WifiGetIP(void);
void WifiDisConnected(void);

#ifdef SUPPORT_TCP_SERVER
osThreadId_t TcpServerTaskEntry(void);
unsigned char TcpSendMsg(char* msg, int msgLen);
unsigned short GetTcpServerPort(void);
#endif
#endif


#ifdef SUPPORT_OLED_DISPLAY
void DisplayTaskEntry(void);
#endif
